package com.lagou.anno;

import java.lang.annotation.*;

/**
 * 自定义注解
 */
//@Retention(RetentionPolicy.SOURCE)                    // 注解只在源码阶段保留，在编译器进行编译时它将被丢弃忽视
//@Retention(RetentionPolicy.CLASS)                     // 注解只被保留到编译进行的时候，它并不会被加载到 JVM 中
@Retention(RetentionPolicy.RUNTIME)                     // 注解可以保留到程序运行的时候，它会被加载进入到 JVM 中，所以在程序运行时可以获取到它们
@Documented                                             // 将注解中的元素包含到 Javadoc 中去
@Target(value = {ElementType.FIELD,ElementType.TYPE})   // 指定注解运用的地方
@Inherited                                              // 子类就继承了超类的注解
public @interface TestAnnotation {

    @Check("hai")
    int id() default 0;

    String msg() default "";

}
